home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group95c.txt / 000005_icon-group-sender _Wed Sep 20 18:39:53 1995.msg < prev    next >
Internet Message Format  |  1996-01-03  |  4KB

  1. Received: by cheltenham.cs.arizona.edu; Thu, 21 Sep 1995 09:41:53 MST
  2. To: icon-group@cs.arizona.edu
  3. Date: 20 Sep 1995 18:39:53 GMT
  4. From: jmc0@roger.gte.com (John Chambers)
  5. Message-Id: <43pn5p$e83@ceylon.gte.com>
  6. Organization: GTE Laboratories
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <43d0g9$aal@magus.cs.utah.edu>, <43fgn3$1g4@nntp.crl.com>, <DF3Jnx.8Aw@hplb.hpl.hp.com>
  9. Subject: Re: what to use instead of TCL or PERL
  10. Errors-To: icon-group-errors@cs.arizona.edu
  11.  
  12. In article <DF3Jnx.8Aw@hplb.hpl.hp.com> tgg@hplb.hpl.hp.com () writes:
  13. >J.M. Ivler (ivler@crl.com) wrote:
  14. >
  15. >|Consider the programmer as a carpenter. He has to sink a screw. Now he could 
  16. >|use a hammer to sink it, and it would work, but it would work much better 
  17. >|if he used a screwdriver. Additionally, the screw is a philips head. Now 
  18. >|he could use a flathead screwdriver, but wouldn't the better tool be a 
  19. >|philipshead screwdriver? Now, if he had only one screw to sink, he might 
  20. >|use a hand screwdriver, but he has 1000, so might it not be wise to 
  21. >|attach a philipshead screwdriver to a powertool to help?
  22. >
  23. >Carpenters often _do_ use  hammers to insert screws; they hit them in for most
  24. >of  the distance and  then screw  them  in for  only the  last 1cm or so. Much
  25. >faster, and it works!
  26. >
  27. >Know your tools, and use the appropriate _mix_ of tools!
  28.  
  29. As an example of yet another logical fallacy in the presuppositions 
  30. implied above:  Carpenters who have square-drive bits very often use
  31. them to drive (mostly remove ;-) Phillips screws.  The smaller square
  32. bits fit quite well into a Phillips screw's slots, and unlike the
  33. Phillips bits, they don't tend to pop out so easily.  If you are 
  34. trying to remove a stuck or damaged screw, the square bit will usually
  35. work better than the Phillips bit.
  36.  
  37. This is an example of the fallacy in the "obvious" advice to use the
  38. appropriate tool for the job.  Few people would consider mixing bits
  39. like this to be "appropriate" (in the usual sense of the term).  But
  40. this is an example where the "wrong" tool actually does a better job
  41. than the "right" tool.
  42.  
  43. To be more accurate, this is a case in which tool X does tool Y's job
  44. better than tool Y does, despite the fact that X wasn't designed to do
  45. Y's job.  Similar examples abound in the computing world.  Thus, csh
  46. was designed as a C-like scripting language; it was supposed to be
  47. better for writing scripts than sh.  There have been a lot of summaries
  48. posted explaining why 1) (k)sh is a better scripting tool than csh, and
  49. 2) csh is a better interactive shell than (k)sh.  This is exactly the
  50. opposite to what you'd expect from their design goals.
  51.  
  52. Another curious example I ran across a few years back:  I did a speed
  53. test comparing various file-transfer packages across various networks.
  54. One of the results was that, when uucp worked across tcp, it beat out
  55. ftp by a *factor* of 3 to 4.  Now, uucp was designed to work across
  56. poor-quality links like modems and phone lines; the tcp driver was a
  57. late add-on.  On the other hand, ftp was designed to run on tcp.  So
  58. how does uucp beat ftp so badly on ftp's "home court"?  A 10% difference
  59. wouldn't be worth noticing, but how did ftp's authors blow the job
  60. so badly as to lose by more than a factor of 2?  (Not only that,
  61. but you don't have to hold uucp's hand like you do with ftp; it keeps
  62. trying until it succeeds, and optionally tells you when it's done.  So
  63. despite the fact that it's not interactive, it's much more user-friendly
  64. than the interactive ftp.  Of course, ftp's problems won't be fixed, due
  65. to the unwillingness of the Internet crowd to learn anything from things
  66. like uucp. ;-)
  67.  
  68. The computer industry is full of examples of tools that do their job
  69. poorly, while a tool not designed for the job does it better.
  70.  
  71. -- 
  72. if (HEART(getenv("USER"),'C')) printf("Honk!\n");
  73. print "Honk!\n" if &HEART($ENV{'USER'},'perl');
  74. if {[HEART $env(USER)] == {tcl}} {button .h -text honk ; pack .h}
  75. YOU 4TH HEART IF HONK THEN
  76.